Obtaining location metadata for network devices using augmented reality

ABSTRACT

Obtaining location metadata for network devices using augmented reality (AR) is disclosed herein. In one embodiment, an AR computing device receives first user inputs indicating boundary points of a device region, and determines first spatial coordinates for each boundary point. The AR computing device next receives a second user input that indicates a network device within the device region, and determines second spatial coordinates for the network device. The AR computing device may also correlate the network device with a known connected network device. The AR computing device then transmits, to a server computing device, first metadata that includes the first spatial coordinates and an identifier of the device region, and second metadata that includes the second spatial coordinates and an identifier of the indicated network device. In some embodiments, the metadata may be employed, e.g., to generate a floorplan visualization and/or a signal strength map of the device region.

RELATED APPLICATION

This application is a continuation of co-pending U.S. Pat. ApplicationNo. 16/939,709, filed on Jul. 27, 2020, entitled “OBTAINING LOCATIONMETADATA FOR NETWORK DEVICES USING AUGMENTED REALITY,” which is herebyincorporated herein by reference in its entirety.

BACKGROUND

As modern homes and workplaces continue to become more sophisticated,the number of network devices, such as Internet of Things (IoT) devices,Wi-Fi-enabled devices, and the like, that are in use continues to rise.Consequently, knowledge of the physical locations of the network devices(particularly in relation to each other, to network access points,and/or to physical obstructions such as walls), is increasinglyimportant for optimizing network connectivity and providinglocation-based services using the network devices. More efficientmechanisms for accurately identifying the locations of network deviceswithin a physical space are thus desirable.

SUMMARY

The embodiments disclosed herein obtain location metadata for networkdevices using augmented reality (AR) computing devices, and employ thelocation metadata to provide services such as floorplan visualizations,signal strength maps, and location recommendations for network deviceswithin a physical space.

In one embodiment, a method for obtaining location metadata for networkdevices using AR computing devices is provided. The method includesreceiving, by an AR computing device, a plurality of first user inputsindicating a respective plurality of boundary points defining a deviceregion. The method further includes determining, based on the pluralityof first user inputs, a plurality of first spatial coordinates for therespective plurality of boundary points defining the device region. Themethod also includes receiving, by the AR computing device, a seconduser input indicating a network device within the device region. Themethod additionally includes determining, based on the second userinput, second spatial coordinates for the network device within thedevice region. The method further includes transmitting, to a servercomputing device, first metadata comprising the plurality of firstspatial coordinates and an identifier of the device region and secondmetadata comprising the second spatial coordinates and an identifier ofthe network device within the device region.

In another embodiment, an AR computing device is provided. The ARcomputing device includes a system memory, and a processor devicecommunicatively coupled to the system memory. The processor device isconfigured to receive a plurality of first user inputs indicating arespective plurality of boundary points defining a device region. Theprocessor device is further configured to determine, based on theplurality of first user inputs, a plurality of first spatial coordinatesfor the respective plurality of boundary points defining the deviceregion. The processor device is also configured to receive a second userinput indicating a network device within the device region. Theprocessor device is additionally configured to determine, based on thesecond user input, second spatial coordinates for the network devicewithin the device region. The processor device is further configured totransmit, to a server computing device, first metadata comprising theplurality of first spatial coordinates and an identifier of the deviceregion and second metadata comprising the second spatial coordinates andan identifier of the network device within the device region.

In another embodiment, a non-transitory computer-readable medium isprovided. The non-transitory computer-readable medium storescomputer-executable instructions that, when executed, cause a processordevice of an AR computing device to receive a plurality of first userinputs indicating a respective plurality of boundary points defining adevice region. The computer-executable instructions further cause theprocessor device to determine, based on the plurality of first userinputs, a plurality of first spatial coordinates for the respectiveplurality of boundary points defining the device region. Thecomputer-executable instructions also cause the processor device toreceive a second user input indicating a network device within thedevice region. The computer-executable instructions additionally causethe processor device to determine, based on the second user input,second spatial coordinates for the network device within the deviceregion. The computer-executable instructions further cause the processordevice to transmit, to a server computing device, first metadatacomprising the plurality of first spatial coordinates and an identifierof the device region and second metadata comprising the second spatialcoordinates and an identifier of the network device within the deviceregion.

Those skilled in the art will appreciate the scope of the disclosure andrealize additional aspects thereof after reading the following detaileddescription of the embodiments in association with the accompanyingdrawing figures.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawing figures incorporated in and forming a part ofthis specification illustrate several aspects of the disclosure and,together with the description, serve to explain the principles of thedisclosure.

FIG. 1 is a block diagram illustrating an exemplary communicationsnetwork, including a server computing device, a router computing device,and an augmented reality (AR) computing device, configured to obtainlocation metadata for network devices using AR;

FIGS. 2A-2C illustrate exemplary user interfaces provided by the ARcomputing device of FIG. 1 for receiving user inputs defining boundarypoints of a device region and indicating a location and identity of anetwork device using AR, in accordance with some embodiments;

FIGS. 3A and 3B illustrate an exemplary floorplan visualization and asignal strength map, respectively, that may be generated using locationmetadata, in accordance with some embodiments;

FIGS. 4A-4D are message sequence diagrams illustrating messages sent andoperations performed when obtaining and utilizing location metadata fornetwork devices, in accordance with some embodiments;

FIGS. 5A and 5B are flowcharts illustrating exemplary operations forobtaining location metadata for network devices using AR, in accordancewith some embodiments;

FIG. 6 is a flowchart illustrating exemplary operations for obtaininguser input to correlate a network device with a known connected networkdevice, in accordance with some embodiments;

FIG. 7 is a flowchart illustrating exemplary operations for generatingand displaying a floorplan visualization using obtained locationmetadata, in accordance with some embodiments;

FIGS. 8A and 8B are flowcharts illustrating exemplary operations forgenerating and displaying a signal strength map using obtained locationmetadata, in accordance with some embodiments; and

FIG. 9 is a block diagram of a computing device suitable forimplementing embodiments disclosed herein.

DETAILED DESCRIPTION

The embodiments set forth below represent the information to enablethose skilled in the art to practice the embodiments and illustrate thebest mode of practicing the embodiments. Upon reading the followingdescription in light of the accompanying drawing figures, those skilledin the art will understand the concepts of the disclosure and willrecognize applications of these concepts not particularly addressedherein. It should be understood that these concepts and applicationsfall within the scope of the disclosure and the accompanying claims.

Any flowcharts discussed herein are necessarily discussed in somesequence for purposes of illustration, but unless otherwise explicitlyindicated, the embodiments are not limited to any particular sequence ofsteps. The use herein of ordinals in conjunction with an element issolely for distinguishing what might otherwise be similar or identicallabels, such as “first message” and “second message,” and does not implya priority, a type, an importance, or other attribute, unless otherwisestated herein. The term “about” used herein in conjunction with anumeric value means any value that is within a range of ten percentgreater than or ten percent less than the numeric value.

As used herein and in the claims, the articles “a” and “an” in referenceto an element refers to “one or more” of the element unless otherwiseexplicitly specified. The word “or” as used herein and in the claims isinclusive unless contextually impossible. As an example, the recitationof A or B means A, or B, or both A and B.

As modern homes and workplaces become more sophisticated, the number ofnetwork devices (e.g., computing devices interconnected via a personalor private communications network, such as Internet of Things (IoT)devices, Wi-Fi-enabled devices, and the like) continues to increase. Asnetwork devices proliferate, optimization of network connectivity forthe network devices and provision of location-based services using thenetwork devices depend on obtaining accurate information regarding thephysical locations of the network devices (particularly in relation toeach other, to network access points, and to physical obstructions suchas walls within their operating environments). Thus, mechanisms forobtaining location metadata for network devices with greater efficiencyand accuracy are desirable.

In this regard, embodiments disclosed herein obtain location metadatafor network devices using augmented reality (AR). As used herein,“augmented reality” refers to technologies for overlayingcomputer-generated digital information or virtual objects onto arepresentation of a non-virtual real-world environment. Computingdevices that provide AR functionality (“AR computing devices”) can beused to provide an immersive experience in which a user perceivesvirtual elements as being integrated into the real-world environment (incontrast with “virtual reality,” in which the entire virtual environmentperceived by the user is computer-generated). AR computing devices mayinclude any computing device that provides a processor device, a displaydevice (such as a screen, a head-mounted display (HMD), eyeglasses,and/or the like, as non-limiting examples), an input device, andappropriate sensors for detecting position and movement of the computingdevice (e.g., accelerometers, compasses, positioning systems, and/or thelike, as non-limiting examples).

According to embodiments disclosed herein, a user may use an ARcomputing device to first define a device region (i.e., a physical areawithin which network devices are located) by providing first user inputsto the AR computing device indicating boundary points of the deviceregion. In some embodiments, each boundary point may correspond to acorner where two walls, two walls and a ceiling, or two walls and afloor of the device region intersect. According to some embodiments, theuser may provide the first user inputs by using the AR computing deviceto view, on a display device of the AR computing device, a sceneincluding the boundary point, and then selecting the boundary pointwithin the scene. Based on the first user inputs, the AR computingdevice determines spatial coordinates for each boundary point (i.e.,“first spatial coordinates”) using conventional AR techniques. The firstspatial coordinates each may comprise a three-dimensional locationidentifier of the corresponding boundary point, and may specify thelocation of the boundary point in absolute terms (such as, e.g., aGlobal Positioning System (GPS) coordinate, as a non-limiting example)or relative to a known position (such as a position of a routercomputing device, as a non-limiting example).

Next, the user provides a second user input that indicates a networkdevice within the device region (e.g., by using the AR computing deviceto view a scene including the network device on the display device ofthe AR computing device, and selecting the network device within thescene, as a non-limiting example). Using the second user input, the ARcomputing device determines spatial coordinates for the network device(i.e., “second spatial coordinates”). The second spatial coordinates maycomprise a three-dimensional location identifier of the network devicein absolute terms or relative to another known location, such as thelocation of the router computing device. This process may be repeatedfor multiple network devices within the device region.

According to some examples, the AR computing device may also obtain alist of connected network devices (e.g., network devices that areconnected to the router computing device) from a server computingdevice, and may correlate the network device indicated by the seconduser input with a connected network device on the list of connectednetwork devices. The process for correlating the network device with theconnected network device may be based on a third user input provided bythe user (e.g., by selecting the appropriate connected network devicefrom a list displayed by the AR computing device, as a non-limitingexample), or based on a machine learning (ML) model that identifies thenetwork device as corresponding to the connected network device withoutadditional user input.

The AR computing device then transmits, to the server computing device,first metadata that includes the first spatial coordinates and anidentifier of the device region, and second metadata that includes thesecond spatial coordinates and an identifier of the network device. Inembodiments in which the AR computing device correlates the networkdevice with a connected network device on the list of connected networkdevices, the AR computing device may also transmit third metadata thatincludes an indication of the correlation of the network device with theconnected network device.

As discussed in greater detail below, some embodiments disclosed hereinmay use the metadata generated by the AR computing device to generateand display a floorplan visualization of the device region to illustraterelative locations of the router computing device, the boundary pointsdefining the device region, and the network device within the deviceregion. Some embodiments may also provide that the router computingdevice may determine received signal strength indications (RSSIs) basedon its communications with the AR computing device, and may providefourth metadata including the RSSIs to the server computing device. Thefourth metadata may be used in conjunction with the first metadata, thesecond metadata, and the third metadata to generate and display a signalstrength map that comprises a visual representation of the RSSIs withinthe device region. The signal strength map may also incorporatetimestamp and location data that is recorded by the AR computing deviceand provided to the server computing device as fifth metadata. Thesignal strength map may be used to generate and display a locationrecommendation for the network device within the device region (e.g., toimprove network connectivity and/or to reduce interference).

FIG. 1 is a block diagram illustrating an exemplary communicationsnetwork 10 that may be utilized to obtain location metadata for networkdevices using AR. The communications network 10 in the example of FIG. 1includes an AR computing device 12 comprising a system memory 14, aprocessor device 16 communicatively coupled to the system memory 14, anda display device 18. The communications network 10 also includes aserver computing device 20, which in some embodiments may comprise amultiple-system operator (MSO) server computer. The communicationsnetwork 10 further includes a router computing device 22, which in someembodiments may comprise an MSO managed wireless router or an MSOmanaged wired router, as non-limiting examples. In the example of FIG. 1, the router computing device 22 provides router functionality to the ARcomputing device 12, and thus it is to be understood that networktraffic to and from the AR computing device 12 (e.g., to and from theserver computing device 20) passes through the router computing device22. It is to be further understood that the elements of thecommunications network 10, including the AR computing device 12 and theserver computing device 20, are interconnected via a publicly accessiblenetwork (e.g., the internet) and/or a private network.

In exemplary operation, a user 24 seeks to use the AR computing device12 to obtain location metadata for a network device 26 within a deviceregion 28. The device region 28 of FIG. 1 represents a physical area,such as a room or an office, within which the network device 26 islocated. Although not shown in FIG. 1 , it is to be understood thatmultiple network devices 26 and/or other devices, such as the routercomputing device 22, may also be located within the device region 28.

The AR computing device 12 first receives a plurality of first userinputs 30 from the user 24 to indicate a respective plurality ofboundary points (not shown) defining the device region 28. The pluralityof boundary points may comprise, for instance, the corners of the deviceregion 28, and the user may provide the first user inputs 30 by viewinga scene of the device region 28 via the display device 18 of the ARcomputing device 12 and selecting the boundary points within the viewedscene. Selection of the boundary points in some embodiments is discussedin greater detail below with respect to FIG. 2A. Based on the first userinputs 30, the AR computing device 12 determines a correspondingplurality of first spatial coordinates 32 for the respective boundarypoints using conventional AR techniques. Each of the first spatialcoordinates 32 may comprise a three-dimensional location identifier ofthe respective boundary point, and may specify the location of theboundary point in absolute terms (such as, e.g., a Global PositioningSystem (GPS) coordinate, as a non-limiting example) or relative to aknown position (such as a position of the router computing device 22, asa non-limiting example).

The AR computing device 12 next receives a second user input 34 from theuser 24 to indicate the network device 26 within the device region 28.In some embodiments, the user may provide the second user input 34 byviewing a scene of the device region 28 via the display device 18 of theAR computing device 12, and selecting the network device 26 within theviewed scene. Selection of the network device 26 in some embodiments isdiscussed in greater detail below with respect to FIG. 2B. The ARcomputing device 12 then determines second spatial coordinates 36 forthe network device 26 using conventional AR techniques. As with theplurality of first spatial coordinates 32, the second spatialcoordinates 36 may comprise a three-dimensional location identifier ofthe network device 26 that specifies a location of the network device 26in either absolute or relative terms.

In some embodiments, the AR computing device 12 is configured tocorrelate the network device 26 with one of multiple known connectednetwork devices. For instance, the server computing device 20 maymaintain a connected device list 38 that identifies one or moreconnected network devices 40(0)-40(N) that are connected to the routercomputing device 22. In such embodiments, the AR computing device 12 mayobtain the connected device list 38 from the server computing device 20.After receiving the second user input 34 indicating the network device26 within the device region 28, the AR computing device 12 may correlatethe network device 26 with one of the connected network devices40(0)-40(N) of the connected device list 38. Correlating the networkdevice 26 with one of the connected network devices 40(0)-40(N) may beperformed automatically using an ML model, or may be based on a thirduser input 42 that identifies the network device 26 as corresponding toone of the connected network devices 40(0)-40(N). Identification of thenetwork device 26 as corresponding to one of the connected networkdevices 40(0)-40(N) by the user 24 in some embodiments is discussed ingreater detail below with respect to FIG. 2C.

The AR computing device 12 then transmits first metadata 44 and secondmetadata 46 to the server computing device 20. The first metadata 44includes the plurality of first spatial coordinates 32, along with anidentifier 48 of the device region 28. The identifier 48 of the deviceregion 28 may be automatically generated by the AR computing device 12,or may comprise a user-friendly designation assigned by the user 24. Thesecond metadata 46 includes the second spatial coordinates 36 and anidentifier 50 of the network device 26. The identifier 50 of the networkdevice 26 in some embodiments may comprise, as non-limiting examples, amachine name of the network device 26, a media access control (MAC)address of the network device 26, and/or the like. Some embodiments mayprovide that the identifier 50 of the network device 26 may comprise auser-friendly designation provided by the user 24 or by the networkdevice 26. In embodiments in which the AR computing device 12 correlatesthe network device 26 with one of the connected network devices40(0)-40(N), the AR computing device 12 may also transmit third metadata52, comprising an indication 54 of the correlation, to the servercomputing device 20.

As discussed in greater detail below with respect to FIG. 3A, the firstmetadata 44, the second metadata 46, and the third metadata 52 may beused, for example, to generate a floorplan visualization of the deviceregion 28 to better allow the user 24 to visualize the relativelocations of network devices, such as the network device 26, within thedevice region 28. In some embodiments, the router computing device 22may also collect metadata that can be used in conjunction with the firstmetadata 44, the second metadata 46, and the third metadata 52 togenerate a signal strength map for the device region 28, as discussed ingreater detail below with respect to FIG. 3B. In such embodiments, asthe user 24 moves with the AR computing device 12 within the deviceregion 28, the router computing device 22 collects a plurality of RSSIs56(0)-56(R). Each of the RSSIs 56(0)-56(R) indicates a received signalstrength for communications from the AR computing device 12 received bythe router computing device 22 at a particular location and time. Someembodiments may provide that the router computing device 22 measureseach RSSI 56(0)-56(R) responsive to expiration of a periodic timeinterval (e.g., once per second, as a non-limiting example). The routercomputing device 22 then transmits fourth metadata 58, comprising theRSSIs 56(0)-56(R), to the server computing device 20.

The fourth metadata 58 may be supplemented by additional metadatarecorded by the AR computing device 12 as it is moved within the deviceregion 28. According to some embodiments, the AR computing device 12records a timestamp 60 and a location identifier 62 for the AR computingdevice 12 responsive to detecting movement of the AR computing device12. For instance, the AR computing device 12 may be configured to recordthe timestamp 60 and the location identifier 62 in response to detectingthat the AR computing device 12 has moved more than six (6) inches inany direction. The AR computing device 12 subsequently sends fifthmetadata 64 comprising the timestamp 60 and the location identifier 62to the server computing device 20. It is to be understood that, althoughnot illustrated in FIG. 1 , the AR computing device 12 may recordmultiple timestamps 60 and respective multiple location identifiers 62,and the fifth metadata 64 may comprise the multiple timestamps 60 andthe multiple location identifiers 62.

Some embodiments may leverage the location metadata (i.e., (i.e., thefirst metadata 44, the second metadata 46, the third metadata 52, thefourth metadata 58, and/or the fifth metadata 64) to provide otherservices using location-based rules. As a non-limiting example, the ARcomputing device 12 may provide a user interface (not shown) throughwhich the user 24 can specify actions that are to be performed bypreviously identified network devices within the device region 28 if thepreviously identified network devices satisfy certain location criteria.For instance, the user 24 may define a subgroup of identified networkdevices (e.g., network-enabled lighting devices) within the deviceregion 28 that are within a specified distance of another network device(e.g., a network-enabled television). The user 24 can then specifyactions to be performed by or instructions to be issued to the subgroupof network devices (e.g., lower the lighting level for thenetwork-enabled lighting devices within 10 feet of the network-enabledtelevision).

To illustrate exemplary user interfaces provided by the AR computingdevice 12 of FIG. 1 for receiving the first user inputs 30, the seconduser input 34, and the third user input 42 in accordance with someembodiments, FIGS. 2A-2C are provided. In FIG. 2A, an AR computingdevice 66, corresponding in functionality to the AR computing device 12of FIG. 1 , is shown. The AR computing device 66 includes a displaydevice 68, via which a user (not shown) can view a scene 70 showing aportion of a device region 72. As seen in FIG. 2A, two boundary points74(0) and 74(1) of the device region 72 are visible within the scene 70shown on the display device 68. The AR computing device 66 in theexample of FIG. 2A receives first user inputs (analogous to the firstuser inputs 30 of FIG. 1 ) defining the device region 72 when the userselects the boundary points 74(0) and 74(1) (e.g., by tapping thedisplay device 68 or providing other input indicating selection of theboundary points 74(0) and 74(1)).

Similarly, FIG. 2B shows the AR computing device 66 displaying, via thedisplay device 68, a scene 76 in which a different portion of the deviceregion 72 is visible. As seen in FIG. 2B, a network device 78 is visiblewithin the scene 76 shown on the display device 68. Accordingly, the ARcomputing device 66 in the example of FIG. 2B receives a second userinput (analogous to the second user input 34 of FIG. 1 ) indicating thenetwork device 78 within the device region 72 when the user selects thenetwork device 78 by, as non-limiting examples, tapping the displaydevice 68 or providing other input indicating a selection of the networkdevice 78.

Finally, FIG. 2C illustrates the AR computing device 66 displaying aconnected device list 80 (corresponding to the connected device list 38of FIG. 1 ). The connected device list 80 includes a plurality ofconnected devices 82(0)-82(3), from which the user can select aconnected device that corresponds to the network device 78 by tappingthe display device 68 or providing other input indicating a selection ofone of the connected devices 82(0)-82(3) as corresponding to the networkdevice 78.

FIGS. 3A and 3B illustrate an exemplary floorplan visualization and anexemplary signal strength map, respectively, that may be generated bythe server computing device 20 for the device region 28 of FIG. 1 usinglocation metadata (i.e., the first metadata 44, the second metadata 46,the third metadata 52, the fourth metadata 58, and/or the fifth metadata64 of FIG. 1 ) according to some embodiments. In FIG. 3A, a floorplanvisualization 84 shows boundary points 86(0)-86(3) for the device region28. The locations and relative positions of the boundary points86(0)-86(3) are determined based on the plurality of first spatialcoordinates 32 provided as part of the first metadata 44. Similarly, thefloorplan visualization 84 also shows the location and relative positionof the network device 26, based on the second spatial coordinates 36provided as part of the second metadata 46. It is assumed for purposesof illustration that the second metadata 46 also includes the secondspatial coordinates 36 for the router computing device 22, and thus thefloorplan visualization 84 further shows the location and relativeposition of the router computing device 22.

FIG. 3B shows a signal strength map 88 that is similar to the floorplanvisualization 84 of FIG. 3B, in that it illustrates the boundary points86(0)-86(3) and the locations and relative positions of the networkdevice 26 and the router computing device 22. However, the signalstrength map 88 also includes signal strength indicator lines90(0)-90(2) that are generated based on the fourth metadata 58 (andoptionally the fifth metadata 64). The signal strength indicator lines90(0)-90(2) in the example of FIG. 3B indicate zones in which the signalstrength of transmissions received from the router computing device 22falls within a specified range, with signal strength decreasing asdistance from the router computing device 22 increases. In someembodiments, the signal strength map 88 may further include anindication 92 of a location recommendation that is generated by theserver computing device 20 based on the signal strength map 88. Theindication 92 indicates a location within the device region 28 to whichthe network device 26 may be relocated for better reception oftransmissions from the router computing device 22.

FIGS. 4A-4D are message sequence diagrams illustrating messages sent andoperations performed when obtaining location metadata for networkdevices using AR, in accordance with some embodiments. In FIGS. 4A-4D,elements of FIG. 1 , including the user 24, the AR computing device 12,the router computing device 22, and the server computing device 20, arerepresented by vertical lines. Communications between the illustratedelements are represented by numbered arrows between the correspondingvertical lines, while operations performed by the illustrated elementsare represented by numbered blocks. It is to be understood that, in someembodiments, the communications and operations illustrated herein may beperformed in an order other than that shown in FIGS. 4A-4D, and/or maybe omitted.

In FIG. 4A, operations begin with the AR computing device 12 receiving aconnected device list, such as the connected device list 38, from theserver computing device, as indicated by arrow 94. The AR computingdevice 12 then displays a first scene (such as the scene 70 of FIG. 2A)to the user 24, as indicated by arrow 96. The first scene may bedisplayed using, e.g., the display device 18 of FIG. 1 . The ARcomputing device 12 subsequently receives, from the user 24, a pluralityof first user inputs, such as the first user inputs 30 of FIG. 1 ,indicating a respective plurality of boundary points defining a deviceregion (e.g., the boundary points 86(0)-86(3) of FIG. 3A, defining thedevice region 28 of FIG. 1 ), as indicated by arrow 98. The AR computingdevice then determines a plurality of first spatial coordinates (e.g.,the plurality of first spatial coordinates 32 of FIG. 1 ) for therespective plurality of boundary points, as indicated by block 100.

The AR computing device 12 next displays a second scene (such as thescene 76 of FIG. 2B) to the user 24, as indicated by arrow 102. The ARcomputing device 12 receives, from the user 24, a second user input(such as the second user input 34 of FIG. 1 ) indicating a networkdevice within the device region (e.g., the network device 26 within thedevice region 28 of FIG. 1 ), as indicated by arrow 104. The ARcomputing device then determines second spatial coordinates (e.g., thesecond spatial coordinates 36 of FIG. 1 ) for the network device, asindicated by block 106. Operations then continue in FIG. 4B.

Referring now to FIG. 4B, the AR computing device 12 displays theconnected device list to the user 24, as indicated by arrow 108. The ARcomputing device 12 then receives, from the user 24, a third user input(e.g., the third user input 42 of FIG. 1 ) indicating that the networkdevice corresponds to a connected network device of the connected devicelist, as indicated by arrow 110. Based on the third user input, the ARcomputing device 12 correlates the network device with the connectednetwork device among one or more connected network devices of theconnected device list, as indicated by block 112. The AR computingdevice 12 then transmits first metadata, second metadata, and thirdmetadata to the server computing device 20, as indicated by arrows 114,116, and 118, respectively. The first metadata, the second metadata, andthe third metadata may correspond to the first metadata 44, the secondmetadata 46, and the third metadata 52 of FIG. 1 .

In one use case according to some embodiments, the server computingdevice 20 may generate a floorplan visualization of the device region(such as the floorplan visualization 84 of FIG. 3A) based on the firstmetadata, the second metadata, and the third metadata, as indicated byblock 120. Operations then continue in FIG. 4C, where the floorplanvisualization is then displayed to the user 24 via the AR computingdevice 12, as indicated by arrows 122 and 124.

In another use case according to some embodiments, the router computingdevice 22 may determine a plurality of RSSIs based on communicationswith the AR computing device 12 (e.g., the plurality of RSSIs56(0)-56(R) of FIG. 1 ), as indicated by block 126. The router computingdevice 22 then transmits fourth metadata comprising the plurality ofRSSIs (such as the fourth metadata 58 of FIG. 1 ) to the servercomputing device 20, as indicated by arrow 128. The AR computing device12 may also record a timestamp and a location identifier for the ARcomputing device 12 responsive to detecting movement of the AR computingdevice, as indicated by block 130. The AR computing device 12 may thentransmit fifth metadata comprising the timestamp and the locationidentifier (such as the fifth metadata 64 of FIG. 1 ) to the servercomputing device 20, as indicated by arrow 132. Operations then continuein FIG. 4D.

Turning now to FIG. 4D, the server computing device 20 in someembodiments may generate a signal strength map for the device region(such as the signal strength map 88 of FIG. 3B) based on the firstmetadata, the second metadata, the third metadata, the fourth metadata,and the fifth metadata, as indicated by block 134. The signal strengthmap is then displayed to the user 24 via the AR computing device 12, asindicated by arrows 136 and 138. Some embodiments may provide that theserver computing device 20 also generates a location recommendation forthe network device within the device region based on the signal strengthmap, as indicated by block 140. An indication of the locationrecommendation is then displayed to the user 24 via the AR computingdevice 12, as indicated by arrows 142 and 144.

To illustrate exemplary operations for obtaining location metadata fornetwork devices using AR, FIGS. 5A and 5B provide a flowchart 146. Forthe sake of clarity, elements of FIGS. 1, 2A, 2B, and 3A are referencedin describing FIGS. 5A and 5B. Operations in FIG. 5A in some embodimentsbegin with the AR computing device 12 of FIG. 1 obtaining, from theserver computing device 20, the connected device list 38 identifying oneor more connected network devices 40(0)-40(N) communicatively coupled tothe router computing device 22 (block 148). The AR computing device 12next receives the plurality of first user inputs 30 indicating arespective plurality of boundary points, such as the boundary points86(0)-86(3) of FIG. 3A, defining the device region 28 (block 150). Insome embodiments, operations of block 150 for receiving the plurality offirst user inputs 30 may comprise, for each first user input of theplurality of first user inputs 30 indicating a boundary point of therespective plurality of boundary points 86(0)-86(3), displaying, via thedisplay device 18, a first scene (e.g., the scene 70 of FIG. 2A)comprising the boundary point (block 152). The AR computing device 12then receive the first user input comprising a selection of the boundarypoint (block 154). The AR computing device 12 next determines, based onthe plurality of first user inputs 30, a plurality of first spatialcoordinates 32 for the respective plurality of boundary points86(0)-86(3) defining the device region 28 (block 156).

The AR computing device 12 also receives the second user input 34indicating the network device 26 within the device region 28 (block158). According to some embodiments, operations of block 158 forreceiving the second user input 34 may comprise displaying, via thedisplay device 18 of the AR computing device 12, a second scene (e.g.,the scene 76 of FIG. 2B) comprising the network device 26 (block 160).The AR computing device 12 then receives the second user input 34comprising a selection of the network device 26 (block 162). Operationsthen continue at block 164 of FIG. 5B.

Turning now to FIG. 5B, the AR computing device 12 determines, based onthe second user input 34, second spatial coordinates 36 for the networkdevice 26 within the device region 28 (block 164). In some embodiments,the AR computing device 12 may also correlate the network device 26within the device region 28 with a connected network device among theone or more connected network devices 40(0)-40(N) (block 166). Someembodiments may provide that operations of block 166 for correlating thenetwork device 26 with a connected network device among the one or moreconnected network devices 40(0)-40(N) comprise receiving, by the ARcomputing device 12, the third user input 42 identifying the networkdevice 26 within the device region 28 as corresponding to the connectednetwork device among the one or more connected network devices40(0)-40(N) (block 168). According to some embodiments, operations ofblock 166 for correlating the network device 26 with a connected networkdevice among the one or more connected network devices 40(0)-40(N) maycomprise identifying, using a machine learning (ML) model, the networkdevice 26 within the device region 28 as corresponding to the connectednetwork device among the one or more connected network devices40(0)-40(N) (block 170).

The AR computing device 12 next transmits, to the server computingdevice 20, the first metadata 44 comprising the plurality of firstspatial coordinates 32 and the identifier of the device region 28, andthe second metadata 46 comprising the second spatial coordinates 36 andthe identifier of the network device 26 within the device region 28(block 172). In some embodiments, the AR computing device 12 may alsotransmit, to the server computing device 20, the third metadata 52comprising the indication 54 of the correlation of the network device 26with the connected network device (block 174).

FIG. 6 provides a flowchart 176 to illustrate exemplary operations forobtaining user input to correlate a network device, such as the networkdevice 26 of FIG. 1 , with a known connected network device, such as theone or more connected network devices 40(0)-40(N) of FIG. 1 , inaccordance with some embodiments. Elements of FIG. 1 are referenced indescribing FIG. 6 for the sake of clarity. In FIG. 6 , operations beginwith the AR computing device 12 of FIG. 1 displaying, via the displaydevice 18, the connected device list 38 (block 178). The AR computingdevice 12 then receives the third user input 42 comprising a selectionof a connected device of one or more connected network devices40(0)-40(N) of the connected device list 38 (block 180).

To illustrate exemplary operations for generating and displaying afloorplan visualization, such as the floorplan visualization 84 of FIG.3A, using obtained location metadata in accordance with someembodiments, FIG. 7 provides a flowchart 182. For the sake of clarity,elements of FIGS. 1 and 3A are referenced in describing FIG. 7 .Operations in FIG. 7 begin with the server computing device 20 of FIG. 1generating, based on the first metadata 44 and the second metadata 46,the floorplan visualization 84 of the device region 28, the floorplanvisualization 84 indicating relative locations of the router computingdevice 22, the plurality of boundary points 86(0)-86(3) defining thedevice region 28, and the network device 26 within the device region 28(block 184). The AR computing device 12 then displays, via the displaydevice 18, the floorplan visualization 84 of the device region 28 (block186).

FIGS. 8A and 8B provide a flowchart 188 illustrating exemplaryoperations for generating and displaying a signal strength map, such asthe signal strength map 88 of FIG. 3B, using obtained location metadata,in accordance with some embodiments. Elements of FIGS. 1 and 3B arereferenced in describing FIGS. 8A and 8B for the sake of clarity. InFIG. 8A, operations begin with the router computing device 22determining the plurality of RSSIs 56(0)-56(R) based on communicationswith the AR computing device 12 (block 190). In some embodiments,operations of block 190 for determining the plurality of RSSIs56(0)-56(R) may comprise performing an RSSI measurement responsive toexpiration of a periodic time interval (block 192). The router computingdevice 22 then transmits the fourth metadata 58 comprising the pluralityof RSSIs 56(0)-56(R) to the server computing device 20 (block 194).

In some embodiments, the AR computing device 12 may also record thetimestamp 60 and the location identifier 62 for the AR computing device12 responsive to detecting movement of the AR computing device 12 (block196). In such embodiments, the AR computing device 12 then transmits thefifth metadata 64 comprising the timestamp 60 and the locationidentifier 62 to the server computing device 20 (block 198). Operationsthen continue at block 200 of FIG. 8B.

Referring now to FIG. 8B, the server computing device 20 generates thesignal strength map 88 for the device region 28 based on the firstmetadata 44, the second metadata 46, the third metadata 52, and thefourth metadata 58 (and optionally the fifth metadata 64), the signalstrength map 88 comprising a visual representation of the plurality ofRSSIs 56 within the device region 28 (block 200). The AR computingdevice 12 then displays, via the display device 18, the signal strengthmap 88 (block 202). Some embodiments may provide that the servercomputing device also generates the location recommendation for thenetwork device 26 within the device region 28 based on the signalstrength map 88 (block 204). In such embodiments, the AR computingdevice 12 then displays, via the display device 18, an indication 92 ofthe location recommendation within the signal strength map 88 (block206).

FIG. 9 is a block diagram of a computing device 208, such as the ARcomputing device 12, the router computing device 22, and the servercomputing device 20 of FIG. 1 , suitable for implementing examplesaccording to one embodiment. The computing device 208 may comprise anycomputing or electronic device capable of including firmware, hardware,and/or executing software instructions to implement the functionalitydescribed herein, such as a computer server or the like. The computingdevice 208 includes a processor device 210, a memory 212, and a systembus 214. The system bus 214 provides an interface for system componentsincluding, but not limited to, the memory 212 and the processor device210. The processor device 210 can be any commercially available orproprietary processor.

The system bus 214 may be any of several types of bus structures thatmay further interconnect to a memory bus (with or without a memorycontroller), a peripheral bus, and/or a local bus using any of a varietyof commercially available bus architectures. The memory 212 may includenon-volatile memory 216 (e.g., read-only memory (ROM), erasableprogrammable read-only memory (EPROM), electrically erasableprogrammable read-only memory (EEPROM), etc.), and volatile memory 218(e.g., random-access memory (RAM)). A basic input/output system (BIOS)220 may be stored in the non-volatile memory 216 and can include thebasic routines that help to transfer information between elements withinthe computing device 208. The volatile memory 218 may also include ahigh-speed RAM, such as static RAM, for caching data.

The computing device 208 may further include or be coupled to anon-transitory computer-readable storage medium such as a storage device222, which may comprise, for example, an internal or external hard diskdrive (HDD) (e.g., enhanced integrated drive electronics (EIDE) orserial advanced technology attachment (SATA)), HDD (e.g., EIDE or SATA)for storage, flash memory, or the like. The storage device 222 and otherdrives associated with computer-readable media and computer-usable mediamay provide non-volatile storage of data, data structures,computer-executable instructions, and the like. such as the VR content.

A number of modules can be stored in the storage device 222 and in thevolatile memory 218, including an operating system 224 and one or moreprogram modules 226, which may implement the functionality describedherein in whole or in part. All or a portion of the examples disclosedherein may be implemented as a computer program product 228 stored on atransitory or non-transitory computer-usable or computer-readablestorage medium, such as the storage device 222, which includes complexprogramming instructions, such as complex computer-readable programcode, to cause the processor device 210 to carry out the steps describedherein. Thus, the computer-readable program code can comprise softwareinstructions for implementing the functionality of the examplesdescribed herein when executed by the processor device 210. Theprocessor device 210 may serve as a controller, or control system, forthe computing device 208 that is to implement the functionalitydescribed herein.

An operator may also be able to enter one or more configuration commandsthrough a keyboard (not illustrated), a pointing device such as a mouse(not illustrated), or a touch-sensitive surface such as a display device(not illustrated). Such input devices may be connected to the processordevice 210 through an input device interface 230 coupled to the systembus 214 but can be connected through other interfaces such as a parallelport, an Institute of Electrical and Electronic Engineers (IEEE) 1394serial port, a Universal Serial Bus (USB) port, an IR interface, and thelike.

The computing device 208 may also include a communications interface 232suitable for communicating with a network as appropriate or desired. Thecomputing device 208 includes one or more graphic processing units(GPUs) 234.

Those skilled in the art will recognize improvements and modificationsto the preferred embodiments of the disclosure. All such improvementsand modifications are considered within the scope of the conceptsdisclosed herein and the claims that follow.

What is claimed is:
 1. A method, comprising: sending, by a servercomputing device to an augmented reality (AR) computing device, aconnected device list identifying a plurality of connected networkdevices communicatively coupled to a router computing device; receiving,by the server computing device from the AR computing device, firstmetadata comprising a plurality of first spatial coordinates and anidentifier of a device region, second metadata comprising second spatialcoordinates and an identifier of a network device within the deviceregion, and third metadata comprising an indication of a correlation ofthe network device with a connected network device in the list ofconnected network devices, wherein the device region is defined by aplurality of boundary points; generating, by the server computer device,a floorplan visualization of the device region based on the firstmetadata, the second metadata, and the third metadata; and sending, bythe server computer device to the AR computing device, the floorplanvisualization of the device region.
 2. The method of claim 1, whereinthe floorplan visualization indicates relative locations of the routercomputing device, the plurality of boundary points defining the deviceregion, and the network device within the device region.
 3. The methodof claim 1, further comprising: receiving, by the server computingdevice from the router computing device, fourth metadata comprising aplurality of received signal strength indications (RSSIs) based oncommunications between the router computing device and the AR computingdevice; and generating, by the server computing device, a signalstrength map for the device region based on the first metadata, thesecond metadata, the third metadata, and the fourth metadata, the signalstrength map comprising a visual representation of the plurality ofRSSIs within the device region.
 4. The method of claim 3, whereingenerating the floorplan visualization is further based on the fourthmetadata.
 5. The method of claim 3, further comprising: generating, bythe server computing device, a location recommendation for the networkdevice within the device region based on the signal strength map.
 6. Themethod of claim 3, further comprising: receiving, by the servercomputing device from the AR computing device, fifth metadata comprisinga timestamp and a location identifier for the AR computing deviceresponsive to detecting movement of the AR computing device; and whereingenerating the signal strength map is further based on the fifthmetadata.
 7. The method of claim 6, wherein generating the floorplanvisualization is further based on the fourth metadata and the fifthmetadata.
 8. A server computing device, comprising: a system memory; anda processor device communicatively coupled to the system memory andconfigured to: send, to an augmented reality (AR) computing device, aconnected device list identifying a plurality of connected networkdevices communicatively coupled to a router computing device; receive,from the AR computing device, first metadata comprising a plurality offirst spatial coordinates and an identifier of a device region, secondmetadata comprising second spatial coordinates and an identifier of anetwork device within the device region, and third metadata comprisingan indication of a correlation of the network device with a connectednetwork device in the list of connected network devices, wherein thedevice region is defined by a plurality of boundary points; generate afloorplan visualization of the device region based on the firstmetadata, the second metadata, and the third metadata; and send, to theAR computing device, the floorplan visualization of the device region.9. The server computing device of claim 8, wherein the floorplanvisualization indicates relative locations of the router computingdevice, the plurality of boundary points defining the device region, andthe network device within the device region.
 10. The server computingdevice of claim 8, wherein the processor device is further to: receive,from the router computing device, fourth metadata comprising a pluralityof received signal strength indications (RSSIs) based on communicationsbetween the router computing device and the AR computing device; andgenerate a signal strength map for the device region based on the firstmetadata, the second metadata, the third metadata, and the fourthmetadata, the signal strength map comprising a visual representation ofthe plurality of RSSIs within the device region.
 11. The servercomputing device of claim 10, wherein to generate the floorplanvisualization is further based on the fourth metadata.
 12. The servercomputing device of claim 10, wherein the processor device is furtherto: generate a location recommendation for the network device within thedevice region based on the signal strength map.
 13. The server computingdevice of claim 10, wherein the processor device is further to: receive,from the AR computing device, fifth metadata comprising a timestamp anda location identifier for the AR computing device responsive todetecting movement of the AR computing device; and wherein to generatethe signal strength map is further based on the fifth metadata.
 14. Theserver computing device of claim 13, wherein to generate the floorplanvisualization is further based on the fourth metadata and the fifthmetadata.
 15. A non-transitory computer-readable medium having storedthereon computer-executable instructions that, when executed, cause aprocessor device of a server computing device to: send, to an augmentedreality (AR) computing device, a connected device list identifying aplurality of connected network devices communicatively coupled to arouter computing device; receive, from the AR computing device, firstmetadata comprising a plurality of first spatial coordinates and anidentifier of a device region, second metadata comprising second spatialcoordinates and an identifier of a network device within the deviceregion, and third metadata comprising an indication of a correlation ofthe network device with a connected network device in the list ofconnected network devices, wherein the device region is defined by aplurality of boundary points; generate a floorplan visualization of thedevice region based on the first metadata, the second metadata, and thethird metadata; and send, to the AR computing device, the floorplanvisualization of the device region.
 16. The non-transitorycomputer-readable storage medium of claim 15, wherein the floorplanvisualization indicates relative locations of the router computingdevice, the plurality of boundary points defining the device region, andthe network device within the device region.
 17. The non-transitorycomputer-readable storage medium of claim 15, wherein the instructionsare further to: receive, from the router computing device, fourthmetadata comprising a plurality of received signal strength indications(RSSIs) based on communications between the router computing device andthe AR computing device; and generate a signal strength map for thedevice region based on the first metadata, the second metadata, thethird metadata, and the fourth metadata, the signal strength mapcomprising a visual representation of the plurality of RSSIs within thedevice region.
 18. The non-transitory computer-readable storage mediumof claim 17, wherein to generate the floorplan visualization is furtherbased on the fourth metadata.
 19. The non-transitory computer-readablestorage medium of claim 17, wherein the instructions are further to:generate a location recommendation for the network device within thedevice region based on the signal strength map.
 20. The non-transitorycomputer-readable storage medium of claim 17, wherein the instructionsare further to: receive, from the AR computing device, fifth metadatacomprising a timestamp and a location identifier for the AR computingdevice responsive to detecting movement of the AR computing device; andwherein to generate the signal strength map is further based on thefifth metadata.